package org.jeecg.common.job.enums;

import com.alibaba.fastjson.JSONArray;

public class JobConstants {

    public static Boolean ENABLE = true;

    /**
     * 本地扫描的定时任务集合
     */
    public static JSONArray jobArray;

    /**
     * 所有定时任务集合
     */
    public static String CACHE_JOB_ALL_LIST = "forp:job:all:list";

    /**
     * 所有以保存在数据库的任务结合
     */
    public static String CACHE_JOB_DATA_LIST = "forp:job:data:list";

    /**
     * 服务器节点名称集合
     */
    public static final String CACHE_NODE_NAMES = "server-node-names";

    /**
     * 服务器节点名称
     */
    public static String NODE_NAME = "current-node";

    /**
     * 节点code, 1.全部 2.互斥模式
     */
    public static String EXEC_MODE = "1";

    /**
     * 任务管理状态
     */
    public enum JobManagerStatus{
        SUCCESS, FAIL, NOT_OPEN;
    }

    /**
     * 定时任务状态
     */
    public enum JobStatus {

        //开启
        NO(0, "开启"),
        //暂停
        YES(1, "暂停");

        private final Integer id;
        private final String name;
        JobStatus(Integer id, String name) {
            this.id = id;
            this.name = name;
        }

        public static JobStatus get(Integer id) {
            if (id == null) {
                return null;
            }
            for (JobStatus em : values()) {
                if (em.getId().equals(id)) {
                    return em;
                }
            }
            return null;
        }

        public Integer getId() {
            return id;
        }

        public String getName() {
            return name;
        }
    }
}
